ゆるトーク:JavaScirpt のことをJava って言うな
ふーこ.icon
はいどーもー!
本日の放課後ITよもやま話のお題はこちら!
「JavaScript のことを Java って言うな」
……なんか技術者が突然立ち上がりそうなタイトルだな。
りか.icon
立ち上がる人はいる。
ふーこ.icon
いた。
hr.icon
あや.icon
わたくし、実はよく存じ上げないのですが……。
JavaScript と Java は違うのですか?
りか.icon
かなり違う。
ふーこ.icon
どれくらい違う?
りか.icon
「ハムスター」と「ハムサンド」くらい違う。
ふーこ.icon
名前しか共通点ねぇ!
あや.icon
(笑う)
たしかに、それは別のものですね。
hr.icon
りか.icon
まず事実として、
Java → プログラミング言語
JavaScript → プログラミング言語
ここまでは同じ。
ふーこ.icon
うんうん。
りか.icon
だが設計思想も歴史もかなり異なる。
ふーこ.icon
つまり親戚じゃない?
りか.icon
ほぼ別系統。
ふーこ.icon
じゃあなんでそんな名前なんだよ!
りか.icon
1990年代のマーケティング。
ふーこ.icon
元凶が判明した。
hr.icon
あや.icon
名前に似た響きを持たせたのですね。
りか.icon
そう。
当時 Java が非常に人気だった。
だから Netscape が開発した JavaScript は、
「Javaっぽい名前にしよう」
となった。
参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript
ふーこ.icon
つまり芸名みたいなもん?
りか.icon
そういう見方もできる。
ふーこ.icon
「山田太郎」が
「山田ジャバ太郎」に改名した感じ?
りか.icon
その例えは少し独特だな。
hr.icon
あや.icon
でも、知らない方から見れば、同じものだと思ってしまいそうです。
ふーこ.icon
わかるわー。
だって、
Java
JavaScript
見た目ほぼ親子じゃん。
りか.icon
初心者が混乱する代表例だ。
ふーこ.icon
りかも怒る?
りか.icon
怒るというより、
「おっと、それは別の言語だ」
と説明したくなる。
ふーこ.icon
理性的。
hr.icon
あや.icon
例えば、どのような違いがあるのでしょう?
りか.icon
簡単に言うと、
Java は比較的しっかりした設計図を書いてから建物を作るタイプ。
JavaScript はまず作り始めて柔軟に変更していくタイプ。
ふーこ.icon
建築スタイルが違うんだ。
りか.icon
そう。
もちろん最近は両者とも進化しているので単純ではないが、
初心者向けにはそんなイメージでよい。
あや.icon
なるほど。
職人と即興演奏家の違いのようですね。
ふーこ.icon
あやちゃんの例え、急に芸術方面へ行った。
hr.icon
ふーこ.icon
ところでさ。
JavaScript の人って、
ほんとに「Javaって言うな!」って思ってるの?
りか.icon
人による。
ただ、
「Javaできます!」
と言われて、
実は JavaScript の経験だけだった、
というケースはある。
ふーこ.icon
就職面接で起きたら大変そう。
りか.icon
面接官
「Spring Framework は?」
応募者
「春ですか?」
という事態になるかもしれない。
ふーこ.icon
コント始まった。
あや.icon
(笑う)
hr.icon
りか.icon
ちなみに逆もある。
ふーこ.icon
逆?
りか.icon
Java を学んだ人が、
「JavaScript も同じだろう」
と思って触る。
そして驚く。
ふーこ.icon
そんなに?
りか.icon
そんなに。
JavaScript には独特の文化や仕組みがある。
ふーこ.icon
異世界転生レベル?
りか.icon
そういう意見もあるね。
同じ名前の村に来たと思ったら、
住民も法律も通貨も違った感じだ。
ふーこ.icon
もう別の国じゃん。
hr.icon
あや.icon
言葉というものは不思議ですね。
名前が似ているだけで、人は近しいものだと思ってしまう。
ふーこ.icon
あるある。
メロンパンとメロンみたいな。
りか.icon
メロンパンの中にメロンはほぼ入っていない。
ふーこ.icon
急に例えが強くなった。
あや.icon
JavaScript と Java も、そのような関係かもしれませんね。
りか.icon
かなり近い例えだ。
hr.icon
りか.icon
要点を整理しよう。
JavaScript と Java は別の言語
名前が似ているのは歴史的事情
用途や文化もかなり異なる
だから区別して呼ぶ方が誤解が少ない
ふーこ.icon
なるほど!
つまり、
「JavaScript のことを Java って言うな」
は、
技術者のこだわりというより、
ちゃんと伝えるためなんだな。
りか.icon
その理解でよい。
変数名を正確につけるのと同じだ。
ふーこ.icon
りからしいまとめ。
あや.icon
人の名前を丁寧に呼ぶことに、少し似ていますね。
ふーこ.icon
おお、いい話だ。
りか.icon
だから私は言う。
JavaScript を Java と呼ぶのは、
エルフを人間と呼ぶくらい違う。
ふーこ.icon
最後だけ急にファンタジー世界へ逃げるな!
あや.icon
(笑う)
でも、そのくらい別の存在なのだということは伝わりました。